<?php

class Titulacion_Model extends CI_Model {

    function grabarInscripcion($parameters) {
        $this->db->trans_start();
        $insert = array(
            "estudiante_ide_est" => $parameters['estudiante_ide_est'],
            "fechapre_matr" => $parameters['fechapre_matr'],
            "fecha_matr" => $parameters['fecha_matr'],
            "estado_matr" => $parameters['estado_matr'],
            "nro_matr" => $parameters['nro_matr'],
            "inscrip_matr" => $parameters['inscrip_matr'],
            "tipo_matr" => $parameters['tipo_matr'],
            "observ_mat" => $parameters['observ_mat'],
            "modo_mat" => $parameters['modo_mat'],
            "eliminado" => 0);
        $this->db->insert("matriculas", $insert);
        $ide=$this->db->insert_id();
        $this->db->trans_complete();
        return $ide;
        
    }

    function grabarMatodos($parameters) {
        $this->db->trans_start();
        $insert = array(
            "estudiante_ide_est" => $parameters['estudiante_ide_est'],
            "fechapre_matr" => $parameters['fechapre_matr'],
            "fecha_matr" => $parameters['fecha_matr'],
            "estado_matr" => $parameters['estado_matr'],
            "nro_matr" => $parameters['nro_matr'],
            "inscrip_matr" => $parameters['inscrip_matr'],
            "forma_pago" => $parameters['forma_pago'],
            "tipo_resol_mat" => $parameters['tipo_resol_mat'],
            "tipo_matr" => $parameters['tipo_matr'],
            "observ_mat" => $parameters['observ_mat'],
            "modo_mat" => $parameters['modo_mat'],
            "eliminado" => 0);
        $this->db->insert("matriculas", $insert);
        
        $ide=$this->db->insert_id();
        $this->db->trans_complete();
        return $ide; 
        
    }

    function actualizarInscripcion($parameters) {
        $this->db->trans_start();
        $update = array(
            "fechapre_matr" => $parameters['fechapre_matr'],
            "fecha_matr" => $parameters['fecha_matr'],
            "inscrip_matr" => $parameters['inscrip_matr'], // 0=> titulacion , 1=> titulacion/matricula
            "modo_mat" => $parameters['modo_mat'],//para indicar si es normal o por convalidacion
            "observ_mat" => $parameters['observ_mat']);

        $this->db->where("id_matr", $parameters['id_matr']);
        $this->db->update("matriculas", $update);
        $this->db->trans_complete();
    }

    function actualizaMatricula($parameters, $id_matr) {
        $this->db->trans_start();
        $update = array(
            "fecha_matr" => $parameters['fecha_matr'],
            "estado_matr" => $parameters['estado_matr'],
            "nro_matr" => $parameters['nro_matr'],
            "inscrip_matr" => $parameters['inscrip_matr'],
            "forma_pago" => $parameters['forma_pago'],
            "tipo_resol_mat" => $parameters['tipo_resol_mat'],
            "tipo_matr" => $parameters['tipo_matr'],
            "modo_mat" => $parameters['modo_mat'],
            "observ_mat" => $parameters['observ_mat'],
            "eliminado" => 0);

        //print_r($update);
        $this->db->where("id_matr", $id_matr);
        $this->db->update("matriculas", $update);
        $this->db->trans_complete();
    }

    function actualizaMatriculaPagos($parameters, $id_matr) {
        $this->db->trans_start();


        $update = array(
            "estado_matr" => $parameters['estado_matr'],
            "fecha_canc_ins" => $parameters['fecha_canc_ins'],
            "monto_canc_ins" => $parameters['monto_canc_ins'],
            "fecha_canc_matr" => $parameters['fecha_canc_matr'],
            "monto_canc_matr" => $parameters['monto_canc_matr'],
            "cancela_ins" => $parameters['cancela_ins'],
            "cancela_matr" => $parameters['cancela_matr'],
            "nro_credito" => $parameters['nro_credito'],
            "forma_pago" => $parameters['forma_pago'],
            "descuento_mat" => $parameters['descuento_mat'],
            "observ_pago" => $parameters['observ_pago'],
            "costo_inscrip_conv_mat" => $parameters['costo_inscrip_conv_mat'],
            "costo_materias_conv_mat" => $parameters['costo_materias_conv_mat']);

        $this->db->where("id_matr", $id_matr);
        $this->db->update("matriculas", $update);
        $this->db->trans_complete();
    }
    function getMatriculadosPorPeriodoUltimoCiclo($ide_lec, $ide_car,$ide_pen,$ide_cic,$seccion) {
      

        $this->db->select('persona.cedula_pers, persona.apellido_pers, persona.nombre_pers, 
            matriculas.id_matr,matriculas.modo_mat');
        $this->db->distinct();
        $this->db->from('persona');
        $this->db->join('estudiante', 'persona.ide_pers = estudiante.persona_ide_pers', 'inner');
        $this->db->join('matriculas', 'estudiante.persona_ide_pers = matriculas.estudiante_ide_est', 'inner');
        $this->db->join('cursa', 'matriculas.id_matr = cursa.matriculas_id_matr', 'inner');
        $this->db->where('(matriculas.estado_matr =2)');
        $this->db->where('(matriculas.modo_mat BETWEEN 1 AND 2)');
        $this->db->where('cursa.periodos_lectivos_ide_lec', $ide_lec);
        $this->db->where('cursa.ide_car', $ide_car);
        $this->db->where('cursa.ide_pen', $ide_pen);
        $this->db->where('cursa.ide_cic',$ide_cic );
        $this->db->where('cursa.seccion', $seccion);
        $this->db->where('matriculas.eliminado', 0);
        $this->db->order_by('persona.apellido_pers');
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
            $query->free_result();
            return $data;
        } else {
            return null;
        }
    }
    



}
